// ARMware - an ARM emulator
// Copyright (C) <2007>  Wei Hu <wei.hu.tw@gmail.com>
// 
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
//

#include "AddressSpace.hpp"

namespace ARMware
{
  ////////////////////////////////// Public ///////////////////////////////////
  //============================== Life cycle =================================
  
  AddressSpace::AddressSpace(Core * const core, OsTimer * const os_timer)
    : mp_core(core),
      mp_int_controller(0),
      mp_GPIO_control_block(0),
      mpSerial_1(0),
      mpSerial_2(0),
      mpSerial_3(0),
      mpRTC(0),
      mpPPC(0),
      mp_memory(0),
      mpEgpio(0),
      mp_memory_conf(0),
      mpPowerManager(0),
      mpResetController(0),
      mpRomFile(0),
      mpLCDController(0),
      mpOsTimer(os_timer)
  {
  }
  
  // :NOTE: Wei 2003-Dec-23:
  //
  // If I don't declare the destructor,
  // the version implicitly generated by the compiler will be an 'inline public' one.
  // And this automated inline version will cause me have to include the definition of the 
  // class IntController, etc, rather than just forward declaration the class IntController, etc.
  AddressSpace::~AddressSpace()
  { }
}
